Server apparatus and video delivery method

ABSTRACT

There is provided with an apparatus including: a video stream receiver configured to receive a first video stream encoded by a first coding scheme from a video providing apparatus via a network; a video stream generator configured to generate a second video stream obtained by converting a coding scheme of the first video stream from the first coding scheme to a second coding scheme; a client capability information acquirer configured to acquire decoding capability information representing whether a client apparatus can decode a video image encoded by the first coding scheme; and a video stream processing determiner configured to transmit the first video stream to the client apparatus when the client apparatus can decode the video image encoded by the first coding scheme, and configured to transmit the second video stream to the client apparatus when the client apparatus cannot decode the video image encoded by the first coding scheme.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromthe prior Japanese Patent Applications No. 2006-95027 filed on Mar. 30,2006, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a server apparatus which generates ascreen image to be displayed on a client apparatus connected via anetwork and transmits the generated screen image to the clientapparatus, and a video delivery method.

2. Related Art

A server apparatus which generates a screen image to be displayed on aclient apparatus connected via a network and transmits the generatedscreen image to the client apparatus, and a client apparatus whichdisplays the screen image received from the server apparatus on adisplay unit are proposed in, for example, JP-A 2002-304283 (Kokai).

A client apparatus (for example, a display device) described in JP-A2002-304283 (Kokai) includes a radio communication interface (IF). Theclient apparatus is connected to the server apparatus via a network. Theclient apparatus displays screen information of an application whichoperates on the server apparatus, and the client apparatus transmits aninput command for that application to the server apparatus. As a result,it becomes possible on the client apparatus to utilize the applicationon the server apparatus.

However, for example, in the case where the server apparatus receives avideo stream from a device connected via the network and plays the videostream, the server apparatus generates a screen image once from thereceived video stream, compresses the screen image again, and transmitsthe compressed screen image to the client apparatus. Therefore, there isa problem that a delay increases and a frame rate lowers.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, there is provided witha server apparatus comprising:

a video stream receiver configured to receive a first video streamencoded by using a first coding scheme from a video providing apparatusconnected via a network;

a video stream generator configured to generate a second video streamobtained by converting a coding scheme of the first video stream fromthe first coding scheme to a second coding scheme;

a client capability information acquirer configured to acquire decodingcapability information representing whether a client apparatus candecode a video image encoded by using the first coding scheme; and

a video stream processing determiner configured to transmit the firstvideo stream to the client apparatus when the client apparatus candecode the video image encoded by using the first coding scheme, andconfigured to transmit the second video stream to the client apparatuswhen the client apparatus cannot decode the video image encoded by usingthe first coding scheme.

According to an aspect of the present invention, there is provided witha server apparatus comprising:

a video stream receiver configured to receive a first video streamencoded by using a first coding scheme from a video providing apparatusconnected via a network;

a video stream generator configured to generate a second video streamobtained by converting a coding scheme of the first video stream fromthe first coding scheme to a second coding scheme;

a client capability information acquirer configured to acquire decodingcapability information representing whether a client apparatus candecode a video image encoded by using the first coding scheme; and

a video stream processing determiner configured to

-   -   transmit a first request signal to the video providing apparatus        to request transmission of the first video stream to the client        apparatus, when the client apparatus can decode the video image        encoded by using the first coding scheme, and    -   transmit a second request signal to the video providing        apparatus to request transmission of the first video stream to        the video stream receiver and transmit the second video stream        generated by the video stream generator to the client apparatus,        when the client apparatus cannot decode the video image encoded        by using the first coding scheme.

According to an aspect of the present invention, there is provided witha video delivery method comprising:

receiving a first video stream encoded by using a first coding schemefrom a video providing apparatus connected via a network;

acquiring decoding capability information representing whether a clientapparatus can decode a video image encoded by using the first codingscheme;

transmitting the first video stream to the client apparatus, when theclient apparatus can decode the video image encoded by using the firstcoding scheme; and

generating a second video stream obtained by converting a coding schemeof the first video stream from the first coding scheme to a secondcoding scheme and transmitting the second video stream to the clientapparatus, when the client apparatus cannot decode the video imageencoded by using the first coding scheme.

According to an aspect of the present invention, there is provided witha video delivery method comprising:

acquiring decoding capability information representing whether a clientapparatus can decode a video image encoded by using the first codingscheme;

requesting a video providing apparatus connected via a network totransmit a first video stream encoded by using the first coding schemeto the client apparatus, when the client apparatus can decode the videoimage encoded by using the first coding scheme; and

receiving the first video stream from the video providing apparatus,generating a second video stream obtained by converting a coding schemeof the first video stream from the first coding scheme to a secondcoding scheme and transmitting the second video stream to the clientapparatus, when the client apparatus cannot decode the video imageencoded by using the first coding scheme.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an example of a configuration of a videodelivery system;

FIG. 2 is a diagram showing a configuration example of a screen imagegenerator and a screen image transmitter;

FIG. 3 is a diagram showing another configuration example of the screenimage generator and the screen image transmitter;

FIG. 4 is a diagram showing still another configuration example of thescreen image generator and the screen image transmitter;

FIG. 5 is a diagram showing yet another configuration example of thescreen image generator and the screen image transmitter;

FIG. 6 is a diagram showing a display example of a video phoneapplication program;

FIG. 7 is a diagram showing an example of a processing flow in a serverapparatus;

FIG. 8 is a diagram showing an example of information stored in a videodisplay position storer;

FIG. 9 is a diagram showing another example of a configuration of avideo delivery system; and

FIG. 10 is a diagram showing another example of a processing flow in aserver apparatus.

DETAILED DESCRIPTION OF THE INVENTION

Hereafter, embodiments of the present invention will be described withreference to the drawings.

First Embodiment

FIG. 1 is a block diagram showing a configuration of a video deliverysystem according to an embodiment of the present invention.

This video delivery system includes a video providing apparatus 11, aserver apparatus 21 and a client apparatus 31. The video providingapparatus 11, the server apparatus 21 and the client apparatus 31 areconnected to a network 41. The network 41 may be either of a wirenetwork and a radio network.

The video providing apparatus 11 is, for example, a contents deliveryserver which delivers video contents, or a video phone (which may beeither of a fixed phone and a mobile phone). The video providingapparatus 11 provides a video image to be displayed on the clientapparatus 31, via the network 41. A video image transmitted from thevideo providing apparatus 11 is encoded by, for example, an arbitrarycoding scheme, and transmitted as stream data. In view of the currentsituation, there is a possibility that the arbitrary coding scheme willbe, for example, MPEG-4 or MPEG-2, but the arbitrary coding scheme isnot restricted to them. Hereafter, a video image provided by the videoproviding apparatus 11 is referred to as provided video image and datarepresenting the video image is referred to as video stream, forconvenience in description.

The client apparatus 31 includes a communication interface (IF) 32, ascreen image receiver 33, a video reproducer 34, a video displayposition storer 35, a display unit 36 and an input unit 37. The clientapparatus 31 is, for example, a display device (which may be either ofthe fixed type and portable mobile type). The client apparatus 31 isconnected to the network 41 at its communication interface 32. Theclient apparatus 31 receives screen image data from the server apparatus21, decodes the received screen image data if necessary, and displays ascreen image in a screen region on the display unit 36. Furthermore, theclient apparatus 31 receives user's input at the input unit 37, andsends the user's input from the communication interface 32 to the serverapparatus 21 via the network 41.

The screen image data received from the server apparatus 21 by theclient apparatus 31 may be, for example, data representing the wholeimage displayed on the display unit 36. Or the screen image data may bedata representing an image displayed on a part of the screen region andits display position of the display unit 36. The client apparatus 31 candisplay a screen image on the basis of the screen image data by usingeither of the above data forms or by both of the data forms.

The client apparatus 31 may be an apparatus which can receive the videostream provided by the video providing apparatus 11 via the serverapparatus 21, decode the video stream, and display the decoded result ona part or the whole of the screen region. The client apparatus 31 neednot support an encoding format common to that of the video providingapparatus 11. In other words, the client apparatus 31 is not restrictedto an apparatus which can decode a screen image encoded by using theabove-described arbitrary coding scheme (for example, MPEG-4 or MPEG-2).

The server apparatus 21 includes a communication IF 22, a clientcapability information acquirer 23, a video stream processing determiner24, a screen image generator 25, a screen image transmitter 26 and avideo stream transferrer 27. The communication IF 22 is equivalent to avideo stream receiver. The screen image generator 25 is equivalent to avideo stream generator (video stream generator). The server apparatus 21generates a screen image to be displayed in the client apparatus 31, andtransmits the generated screen image to the client apparatus 31. Screenimage data which represents a screen image transmitted to the clientapparatus 31 is transmitted in a format which can be handled by theclient apparatus 31.

The “format which can be handled” means a format encoded by using acoding scheme which is known to be able to be decoded by the clientapparatus 31. As this coding scheme, for example, MPEG-4 or MPEG-2 maybe used, or run length coding, dictionary compression, JPEG compression,or another arbitrary coding scheme may be used. Furthermore, the “formatwhich can be handled” is not restricted to an encoded format. The formatmay be a bit map format without especially conducting compression, aslong as the client apparatus 31 can display it.

The “format which can be handled” is a format which represents the wholeof an image displayed on the display unit 36 by the client apparatus 31,or a format which represents an image displayed in a part of the screenregion on the display unit 36 and its display position, as long as theclient apparatus 31 can handle it.

The server apparatus 21 determines a method of delivering a video imageprovided by the video providing apparatus 11 to the client apparatus 31on the basis of the capability of the client apparatus 31. For example,if the client apparatus 31 can decode the video stream, the serverapparatus 21 determines to transfer the video stream supplied from thevideo providing apparatus 11 to the client apparatus 31 without changingthe coding format. If the client apparatus 31 cannot decode the videostream, the server apparatus 21 decodes the video stream, generates ascreen image on the basis of a provided image obtained by decoding,converts the generated screen image to a format which can be handled bythe client apparatus 31, and transmits a result to the client apparatus31.

Hereafter, the communication IF 22, the screen image generator 25 andthe screen image transmitter 26 in the server apparatus 21, and thecommunication IF 32, the screen image receiver 33 and the display unit36 in the client apparatus 31 will first be described.

The screen image generator 25 generates a screen image to be displayedin the client apparatus 31. The screen image transmitter 26 transmitsthe screen image generated by the screen image generator 25 to theclient apparatus 31 via the communication IF 22. The screen imagetransmitter 26 converts the screen image to the format which can behandled by the client apparatus 31, in some cases.

FIG. 2 is a diagram showing an operation example of the screen imagegenerator 25 and the screen image transmitter 26.

The server apparatus 21 in the present example is a computer in which anapplication program operates on an OS (Operating System). When theapplication program issues a drawing instruction to the OS, a screenimage generator 25 a in the OS generates a screen image (for example, animage in one region in the screen region) to be displayed on the clientapparatus 31 on the basis of the given drawing instruction. The screenimage generator 25 a delivers the generated image to the screen imagetransmitter 26. The image delivered at this time may include informationrepresenting a position occupied by the image in the whole screen (suchas a block number or coordinates of an update region). The screen imagetransmitter 26 converts the received image to a format which can behandled by the client apparatus 31 and delivers a resultant image to thecommunication IF 22. The communication IF 22 transmits the screen imagehaving a format which can be handled by the client apparatus 31 to theclient apparatus 31.

FIG. 3 is a diagram showing another example of the screen imagegenerator 25 and the screen image transmitter 26.

In the present example as well, the server apparatus 21 is a computer inwhich an application program operates on the OS. The server apparatus 21includes a frame buffer 42 which retains a screen image to be displayedon the client apparatus 31. When the application program issues adrawing instruction to the OS, a screen image generator 25 b in the OSwrites a screen image (for example, an image in a region in the screenregion) to be displayed on the client apparatus 31 into the frame buffer42 on the basis of the given drawing instruction.

The screen image transmitter 26 converts the whole of the screen imagedata (screen image data corresponding to one frame) retained in theframe buffer 42 to a format which can be handled by the client apparatus31, and transmits the resultant screen image data to the clientapparatus 31. As for timing of transmission conducted by the screenimage transmitter 26, the screen image transmitter 26 may transmit theresultant screen image data each time the OS updates contents of theframe buffer. Or the screen image transmitter 26 may conducttransmission at predetermined time intervals regardless of the framebuffer writing timing. As for the scheme of compression, the screenimage taken out from the frame buffer 42 may be compressed separatelyevery frame. In an alternative scheme, the screen image in the framebuffer transmitted in the past is retained, and compression is conductedby utilizing the correlation to the retained screen image.

FIG. 4 is a diagram showing still another example of the screen imagegenerator 25 and the screen image transmitter 26.

This example is the same as the operation example shown in FIG. 3 untila screen image generator 25 c writes a screen image to be displayed onthe client apparatus 31 into a frame buffer 43. The screen imagegenerator 25 c generates an image on the basis of a drawing instruction,updates the whole or a part of an image corresponding to one framewritten in the frame buffer 43, and notifies an update image extractor44 of region information representing where the updated region islocated (for example, information representing the position and range ofthe image in the whole screen). This notice may be given each time theimage is generated. The update image extractor 44 may be notified ofregions of those images collectively after images in some regions in oneframe have been generated.

The update image extractor 44 acquires an image of the updated regionfrom the frame buffer 43 on the basis of the region information given asa notice, and delivers the acquired image to the screen imagetransmitter 26. The screen image transmitter 26 converts the receivedimage to a format which can be handled by the client apparatus 31, andtransmits a resultant image to the client apparatus 31 via thecommunication IF 22.

If the server apparatus 21 includes an output IF for connection to thedisplay which is not illustrated without the network 41, besides thecommunication IF 22 for connection to the network 41, then it is alsopossible to consider a configuration in which signals representing ascreen image to be output to this display are transmitted to the clientapparatus 31 via the network 41 and the screen image is displayed on theclient apparatus 31. This configuration is shown in FIG. 5.

If an application program issues a drawing instruction to the OS, the OSgenerates an image on the basis of the given drawing instruction. The OSdelivers the generated image and a display drawing instruction to avideo card 45 included in the server apparatus 21. The video card 45generates display video signals in accordance with the received displaydrawing instruction. A screen image generator 25 d delivers thesedisplay video signals to the screen image transmitter 26 as a screenimage.

If the server apparatus includes a VRAM (Video Random Access Memory) foroutput to the display, an image stored in the VRAM may be transmitted tothe client apparatus and displayed thereon. In this case, for examplethe screen image generator generates an image to be written into theVRAM. The screen image transmitter 26 acquires video signals from theVRAM, converts contents of the video signals to a format which can behandled by the client apparatus 31, and transmits a resultant signals tothe client apparatus 31 via the communication IF 22.

In the client apparatus 31 shown in FIG. 1, screen image data (imagedata of an image on the whole screen or a region thereof) transmittedfrom the server apparatus 21 is received by the screen image receiver 33via the communication IF 32. The screen image receiver 33 decodes thereceived image data if necessary, and writes a result into a framebuffer included in the display unit 36. When image data in one region inthe screen region is sent, then display coordinates on the screen regionand range information which indicates a display range are sent togetherwith the image data. The client apparatus 31 writes the image data intothe frame buffer in the display unit 36. The display unit 36 displayscontents of the frame buffer.

The video stream processing determiner 24, the client capabilityinformation acquirer 23 and the video stream transferrer 27 in theserver apparatus 21, and the video display position storer 35 and thevideo reproducer 34 in the client apparatus 31 will now be described indetail. The case where the client apparatus 31 conducts video phoneoperation with the video providing apparatus 11 (video phone) by using avideo phone application program which operates in the server apparatus21 will now be described as an example. By the way, it is supposed thata video phone application program is mounted on the video providingapparatus 11 separately.

FIG. 7 is a flow chart showing a processing flow in the server apparatus21 in the present example.

It is attempted to connect the client apparatus 31 to the videoproviding apparatus 11 by using the video phone application programwhich operates on the server apparatus 21. A connection request to theserver apparatus 21 is issued by, for example, the input unit 37 in theclient apparatus 31. Alternatively, the input unit 37 may be connectedto the network 41 to issue the connection request.

As shown in FIG. 6, the present video phone application program candisplay a video image 47 provided by the opposite party of talk (a userof the video providing apparatus 11) in a window 48 included in an image(screen image) 49 of the whole screen region. Upon receiving theconnection request, the server apparatus 21 transmits a call request tothe video providing apparatus 11 (S11). The server apparatus 21 waitsfor a response from the video providing apparatus 11 (NO at S12). If theserver apparatus 21 receives the response from the video providingapparatus 11 (YES at S12), establishes connection between the clientapparatus 31 and the video providing apparatus 11, and determines avideo format (such as MPEG-2 or MPEG-4), the video stream processingdeterminer 24 determines whether the client apparatus can decode a videostream transmitted from the video providing apparatus 11, by usinginformation obtained from the client capability information acquirer 23(S13). Details of the client capability information acquirer 23 will bedescribed later with reference to a third embodiment.

If the client apparatus 31 cannot decode the video stream (NO at S13),the screen image generator 25 decodes the video stream provided by thevideo providing apparatus 11, and generates screen images to bedisplayed on the client apparatus 31 one after another on the basis ofthe decoded video stream. The screen image transmitter 26 converts thegenerated screen image (for example, a change part from the previousscreen image) to a format which can be handled by the client apparatus31, and transmits a resultant screen image to the client apparatus 31via the communication IF 22 (S14).

On the other hand, if the client apparatus 31 can decode theabove-described video format (YES at S13), then the video streamprocessing determiner 24 transmits information which represents positionin which the video image should be displayed (here, a position in whicha video image of the opposite party of talking should be displayed, suchas a position of a video image indicated by reference numeral 47 in FIG.6) to the client apparatus 31 via the communication IF 22 (S15).Transmission of information of the position in which the video imageshould be displayed may be conducted, for example, only first onceunless the display position is changed. The video stream transferrer 27transmits (i.e., transfers) a video stream received from the videoproviding apparatus 11 to the client apparatus 31 without decoding it(S16).

Upon receiving the display position information of the video stream fromthe server apparatus 21, the client apparatus 31 stores the receiveddisplay position information for the video display position storer 35.Upon receiving the video stream from the server apparatus 21 thereafter,the video reproducer 34 in the client apparatus 31 acquires the displayposition from the video display position storer 35 and reproduces thevideo stream in the specified display position.

If the client apparatus 31 is made to be capable of receiving aplurality of video streams at the same time, then the video displayposition storer 35 should store associations of display positions ofrespective video streams with received video streams. For example, whenthe server apparatus 21 gives a notice of the display position,therefore, the server apparatus 21 should give a notice of a receptionport number which becomes the transmission destination of the videostream simultaneously and the client apparatus 31 should store thedisplay position in association with the reception port number. Anexample of information which associates the reception port with thedisplay position is shown in FIG. 8. Information on a first line meansthat a video stream received in a reception port No. 20000 in the clientapparatus 31 should be reproduced in a rectangular region prescribed bytop left coordinates (0, 0) and bottom right coordinates (400, 300) inthe screen region. In the same way, information on a second line meansthat a video stream received in a reception port No. 20002 should bereproduced in a rectangular region prescribed by top left coordinates(500, 400) and bottom right coordinates (820, 640) in the screen region.

In the foregoing description, the application program which operates onthe server apparatus has been supposed to be a video phone applicationprogram. However, the application program which operates on the serverapparatus may be any application program, as long as it is anapplication program which receives a video image. For example, theapplication program which operates on the server apparatus may be anapplication program which reproduces a video stream such as moviecontents.

According to the present embodiment, it is possible to reduce the delayand frame rate falling caused when displaying a video stream, asheretofore described.

Second Embodiment

FIG. 9 is a block diagram showing a configuration of a video deliverysystem in a second embodiment. The second embodiment differs from thefirst embodiment in that a server apparatus 51 includes a video streamtransmission requester 52.

FIG. 10 is a flow chart showing a processing flow in a server apparatus51 in the second embodiment. The present embodiment differs from thefirst embodiment in processing conducted when the client apparatus 31can decode the video stream provided by the video providing apparatus11.

S21, S22, S23 and S24 are conducted in the same way as the firstembodiment. S21, S22, S23 and S24 correspond to S11, S12, S13 and S14 inFIG. 7. If the client apparatus 31 can decode the above-described videoformat (YES at S23), the server apparatus 51 first transmits informationof a position in which a video image should be displayed (a position inwhich a video image of the opposite party of talking should be displayedin a window of the video phone application program) to the clientapparatus 31 (S25) in the same way as the first embodiment.Subsequently, the video stream processing determiner 24 in the serverapparatus 51 determines to notify the video providing apparatus 11 of anidentifier (such as, for example, an IP address) of the client apparatus31. In addition, the video stream processing determiner 24 determines torequest the video providing apparatus 11 to directly transmit a videostream to the client apparatus 31 (S26). Upon receiving thedetermination of the video stream processing determiner 24, the videostream transmission requester 52 notifies the video providing apparatus11 of the identifier of the client apparatus 31, and requests the videoproviding apparatus 11 to transmit the video stream directly to theclient apparatus 31 (S27). In other words, the video stream transmissionrequester 52 transmits a first request signal to the video providingapparatus 11. By the way, if the client apparatus 31 cannot decode theabove-described video format (NO at S23), the video stream transmissionrequester 52 requests the video providing apparatus 11 to transmit thevideo stream to the server apparatus 51 (the communication IF 22). Inother words, the video stream transmission requester 52 transmits asecond request signal to the video providing apparatus 11.

Upon receiving the display position information of the video stream fromthe server apparatus 51, the client apparatus 31 stores the receiveddisplay position information for the video display position storer 35.Upon receiving the video stream from the video providing apparatus 11,the video reproducer 34 acquires the display position from the videodisplay position storer 35, and reproduces the provided video image inthe specified display position.

According to such a procedure as well, the delay and frame rate fallingcaused when displaying the video stream can be reduced.

Third Embodiment

In a third embodiment, the client capability information acquirer 23will be described in detail.

The client capability information acquirer 23 acquires capabilityinformation which represents the capability of the client apparatus 31.As for the capability of the client apparatus 31, there is, for example,a classification (such as MPEG-2, MPEG-4 or H.263) of the format of thescreen image data which can be decoded by the client apparatus 31. Theclient capability information acquirer 23 acquires the capabilityinformation of the client apparatus 31 according to, for example, one ofprocedures described hereafter.

According to a first possible procedure, the client capabilityinformation acquirer 23 acquires the capability information of theclient apparatus 31 from a capability information input unit providedfor the user to input the identifier of the client apparatus 31 andcapability information. The acquired capability information is stored inthe server apparatus 21 in association with the identifier.

According to a second possible procedure, the client apparatus 31notifies the client capability information acquirer 23 in the serverapparatus 21 of capability information of the client apparatus 31 byusing a communication route between the client apparatus 31 and theserver apparatus 21 after the client apparatus 31 is connected to theserver apparatus 21. The capability information is stored in the serverapparatus 21.

According to a third possible procedure, the client capabilityinformation acquirer 23 sends an inquiry signal to the client apparatus31 when an inquiry concerning the capability information of the clientapparatus 31 is sent from the video stream processing determiner 24. Asa result, the capability information is acquired.

The server apparatus 21 may retain an identifier of a connectiondestination (such as a port number in TCP (Transmission ControlProtocol) or UDP (User Datagram Protocol) when using an IP (InternetProtocol) which can receive a video stream, together with suchcapability information. The video stream transferrer 27 shown in FIG. 1can transfer the video stream to the client apparatus 31 by utilizingthis port number. In the case where the port number is not retained, theclient capability information acquirer 23 may inquire of the clientapparatus 31 about a port number which can receive the video stream,before transferring the video stream. For example, a port number whichcan receive the video stream can be obtained by using the SIP (SessionInitiation Protocol).

Furthermore, it is desirable that the client capability informationacquirer 23 can inspect whether a new stream can be decoded on the basisof the number of video streams which can be decoded simultaneously bythe client apparatus 31 and the number of streams which are beingdecoded currently. The reason is as follows: even if the clientapparatus 31 has a capability of decoding a certain video format, theclient apparatus 31 cannot decode an additional video stream whiledecoding a certain stream, when the number of video streams which can bedecoded simultaneously is one. This can be implemented by, for example,storing the number of streams which can be decoded simultaneously andthe number of streams which are being utilized currently besides aclassification of video format which can be decoded by the clientapparatus 31, in the server apparatus 21 or the client apparatus 31. Theclient capability information acquirer 23 can answer accurately whethera video stream to be received thereafter can be decoded by the clientapparatus 31. If the decoding is impossible from the viewpoint of thenumber, the video stream processing determiner determines to, forexample, decode a video stream, place it as a part of a screen image,and transmit a resultant screen image.

If the client apparatus 31 is operating by using power supplied from abattery, the client capability information acquirer 23 may acquire theresidual quantity of the battery in the client apparatus 31 as thecapability information of the client apparatus 31. The video streamprocessing determiner 24 acquires residual quantity information of thebattery from the client capability information acquirer 23. If theresidual quantity of the battery is small (equal to or less than athreshold), the video stream processing determiner 24 decodes a videostream without transferring the video stream to the client apparatus 31,generates a screen image having the provided image placed as a part ofthe screen image, and transmits a resultant screen image to the clientapparatus 31. As a result, it becomes unnecessary for the clientapparatus 31 to bear the power required to decode the video stream.Therefore, the power consumption in the client apparatus 31 can bereduced, and the utilization time of the client apparatus 31 can belengthened. Such an effect can be obtained, for example, when the powersource has a limited capacity, such as when the power source for theclient apparatus 31 is a battery, and the decoding load (such as thearithmetic operation quantity) of the video stream for the clientapparatus 31 is heavier than the decoding load of the screen image. Evenwhen a decoder for the screen image for the client apparatus 31 isseparate from a decoder for the video stream, the above-described effectcan be obtained by stopping the decoder for the video stream. Thepresent processing can be conducted not only at the time when receptionof a video stream is started but also when the video stream is beingreceived.

Fourth Embodiment

It is desirable that the capability information of the client apparatus31 includes resizing possibility information which represents whetherthe client apparatus 31 can upscale and downscale (i.e., resize) a videoimage of the video stream obtained after decoding.

Here, the case where the video phone application program mounted on theserver apparatus 21 can display an upscaled or downscaled video imagewill now be described as an example. Furthermore, it is supposed thatthe video stream which is being transmitted by the video providingapparatus 11 has a format which can be decoded by the client apparatusand the server apparatus 21 transfers the received video stream from thevideo stream transferrer 27 to the client apparatus 31 as it is.However, the ensuing description may be applied to the case where thevideo stream is being directly transmitted from the video providingapparatus 11 to the client apparatus 31 (for example, the case of thesecond embodiment).

For example, if the server apparatus 21 is requested to conduct upscaledisplay or downscale display of a video image by the input unit 37 inthe client apparatus 31 according to user's operation (i.e., ifinstruction information is input), the video stream processingdeterminer 24 inquires of the client capability information acquirer 23whether the video image can be upscaled or downscaled in the clientapparatus 31. If upscaling or downscaling to the size specified by theuser is possible as a result of the inquiry, the video stream processingdeterminer 24 notifies the client apparatus 31 of, for example, adisplay region after upscaling or downscaling (position information onthe screen of the client apparatus 31) as information concerning thescaling factor after the change. If upscaling or downscaling cannot beconducted, transfer of the video stream conducted by the video streamtransferrer 27 is finished (in the case where the present embodiment isapplied to the second embodiment, a stop request signal for requestingstop of transmission of the video stream to the client apparatus 31 istransmitted to the video providing apparatus 11). And the serverapparatus 21 generates a screen image from the received video stream byusing the screen image generator 25. (In the case where the presentembodiment is applied to the second embodiment, a second request signalfor requesting transmission of the video stream to the server apparatus51 is first transmitted to the video providing apparatus 11 beforehand.)Subsequently, the server apparatus 21 transmits the screen image to theclient apparatus 31 by using the screen image transmitter 26.

As a result, it is possible to prevent a display which is not intendedby the user from being conducted in the client apparatus 31.

As processing in the case where upscaling or downscaling cannot beconducted in the client apparatus 31, a method of notifying the userthat upscaling or downscaling cannot be conducted without finishing thetransfer of the video stream is also conceivable. Specifically, it isconceivable to generate a screen image which represents that upscalingor downscaling cannot be conducted and transmit the screen image to theclient apparatus 31.

Furthermore, if upscaling or downscaling cannot be conducted in theclient apparatus 31 and upscaling or downscaling can be conducted in thevideo providing apparatus 11, the video providing apparatus 11 may berequested to transmit a stream of an upscaled video image or adownscaled video image, as a third request signal from the serverapparatus.

Heretofore, upscaling and downscaling have been described as theoperation for the video image. However, the same is true of otheroperations (such as a contrast change).

Fifth Embodiment

It is supposed that a received video display window in the clientapparatus 31 is completely hidden behind a window of another applicationprogram by an instruction given by the user of the client apparatus 31in the above-described video phone application program. In such a case,it is not necessary to transfer the received video stream to the clientapparatus 31.

The video stream processing determiner 24 confirms the display state ofthe video stream in the screen region of the client apparatus 31. If thedisplay of the video stream is completely hidden, transfer of the videoimage conducted by the video stream transferrer 27 is stopped. As aresult, traffic between the server apparatus 21 and the client apparatus31 can be reduced. Furthermore, since the processing quantity of theclient apparatus 31 can also be made small, power consumption of theclient apparatus 31 can be reduced.

Also in the case where a great part of the video stream (for example, aregion having a ratio equal to or greater than the threshold in thedisplay region of the video stream) is hidden and the user of the clientapparatus 31 is considered to be not paying attention to the videostream, similar processing may be conducted.

Or if a great part of the video stream is thus hidden, the serverapparatus 21 may generate a screen image from a video stream by usingthe screen image generator 25 and the screen image transmitter 26without using the video stream transferrer 27 (or without conductingdirect transmission from the video providing apparatus 11), and transmitthe generated screen image to the client apparatus 31. In this case aswell, it is sufficient for the server apparatus 21 to transmit only animage of a displayed part to the client apparatus 31. As a result, thetraffic between the server apparatus 21 and the client apparatus 31 canbe reduced. Furthermore, the processing quantity of the client apparatus31 can also be reduced. Accordingly, the power consumption of the clientapparatus 31 can be reduced.

If a great part of the video stream is not hidden, it is more desirableto transfer the video stream by using the video stream transferrer 27(or transmit directly from the video providing apparatus 11) from theviewpoint of delay reduction. In this case, the video stream processingdeterminer 24 notifies the client apparatus 31 of the displayed part(the part which is not hidden) accurately as the display position of thevideo image.

1. A server apparatus comprising: a video stream receiver configured toreceive a first video stream encoded by using a first coding scheme froma video providing apparatus connected via a network; a video streamgenerator configured to generate a second video stream obtained byconverting a coding scheme of the first video stream from the firstcoding scheme to a second coding scheme; a client capability informationacquirer configured to acquire decoding capability informationrepresenting whether a client apparatus can decode a video image encodedby using the first coding scheme; and a video stream processingdeterminer configured to transmit the first video stream to the clientapparatus when the client apparatus can decode the video image encodedby using the first coding scheme, and configured to transmit the secondvideo stream to the client apparatus when the client apparatus cannotdecode the video image encoded by using the first coding scheme.
 2. Theapparatus according to claim 1, wherein the video stream processingdeterminer transmits the first video stream together with informationwhich represents a position of a video image represented by the firstvideo stream, on a screen of the client apparatus.
 3. The apparatusaccording to claim 1, wherein the client capability information acquireracquires information which represents a residual quantity in a batteryof the client apparatus, as the client capability information, and thevideo stream processing determiner transmits the second video stream,when the acquired residual quantity in the battery is equal to or lessthan a threshold.
 4. The apparatus according to claim 1, wherein theclient capability information acquirer acquires information concerning acoding scheme which can be decoded by the client apparatus, as theclient capability information, and the video stream processingdeterminer determines whether the client apparatus can decode the videoimage encoded by using the first coding scheme on the basis of acquiredinformation.
 5. The apparatus according to claim 1, wherein the clientcapability information acquirer acquires information concerning numberof video streams which can be decoded simultaneously by the clientapparatus, as the client capability information, and the video streamprocessing determiner transmits the second video stream, when the numberof video streams which are being decoded in the client apparatus reachesthe number indicated in the acquired information.
 6. The apparatusaccording to claim 1, comprising: an instruction information receiverconfigured to receive instruction information which instructs change ofvideo image scaling factor, from the client apparatus, wherein theclient capability information acquirer acquires scaling factorinformation which represents one or more scaling factors with which theclient apparatus can scale a video image of the first video stream, asthe client capability information, and the video stream processingdeterminer notifies the client apparatus of position information on ascreen of a video image after scaling, when scaling factor instructed bythe instruction information is included in the scaling factorinformation.
 7. The apparatus according to claim 6, wherein when thescaling factor instructed by the instruction information is not includedin the scaling factor information, the video stream processingdeterminer stops transmission of the first video stream and transmitsthe second video stream to the client apparatus.
 8. The apparatusaccording to claim 6, wherein when the scaling factor instructed by theinstruction information is not included in the scaling factorinformation, the video stream processing determiner transmits a videostream encoded by using the second coding scheme, which includes a videoimage representing that video image scaling cannot be conducted, to theclient apparatus.
 9. The apparatus according to claim 6, wherein whenthe scaling factor instructed by the instruction information is notincluded in the scaling factor information, the video stream processingdeterminer requests the video providing apparatus to transmit a firstvideo stream scaled with the scaling factor instructed by theinstruction information.
 10. The apparatus according to claim 1, whereinwhen in a display region of the first video stream in the clientapparatus a proportion of a region in which the video image of the firstvideo stream is hidden by another image is equal to or greater than athreshold, the video stream processing determiner stops transmission ofthe first video stream.
 11. The apparatus according to claim 10, whereinthe video stream processing determiner transmits the second video streamincluding a part of the video image of the first video stream, which isnot hidden by the another image to the client apparatus.
 12. A serverapparatus comprising: a video stream receiver configured to receive afirst video stream encoded by using a first coding scheme from a videoproviding apparatus connected via a network; a video stream generatorconfigured to generate a second video stream obtained by converting acoding scheme of the first video stream from the first coding scheme toa second coding scheme; a client capability information acquirerconfigured to acquire decoding capability information representingwhether a client apparatus can decode a video image encoded by using thefirst coding scheme; and a video stream processing determiner configuredto transmit a first request signal to the video providing apparatus torequest transmission of the first video stream to the client apparatus,when the client apparatus can decode the video image encoded by usingthe first coding scheme, and transmit a second request signal to thevideo providing apparatus to request transmission of the first videostream to the video stream receiver and transmit the second video streamgenerated by the video stream generator to the client apparatus, whenthe client apparatus cannot decode the video image encoded by using thefirst coding scheme.
 13. The apparatus according to claim 12, whereinthe video stream processing determiner transmits information whichrepresents a position of a video image represented by the first videostream, on a screen of the client apparatus to the client apparatus,when the client apparatus can decode the video image encoded by usingthe first coding scheme.
 14. The apparatus according to claim 12,wherein the client capability information acquirer acquires informationwhich represents a residual quantity in a battery of the clientapparatus, as the client capability information, and the video streamprocessing determiner transmits the second request signal to the videoproviding apparatus, when the residual quantity is equal to or less thana threshold.
 15. The apparatus according to claim 12, wherein the clientcapability information acquirer acquires information concerning a codingscheme which can be decoded by the client apparatus, as the clientcapability information, and the video stream processing determinerdetermines whether the client apparatus can decode the video imageencoded by using the first coding scheme on the basis of acquiredinformation.
 16. The apparatus according to claim 12, wherein the clientcapability information acquirer acquires information concerning numberof video streams which can be decoded simultaneously by the clientapparatus, as the client capability information, and the video streamprocessing determiner transmits the second request signal, when thenumber of video streams which are being decoded in the client apparatusreaches the number indicated in the acquired information.
 17. Theapparatus according to claim 12, comprising: an instruction informationreceiver configured to receive instruction information which instructschange of video image scaling factor, from the client apparatus, whereinthe client capability information acquirer acquires scaling factorinformation which represents one or more scaling factors with which theclient apparatus can scale a video image of the first video stream, asthe client capability information, and the video stream processingdeterminer notifies the client apparatus of position information on ascreen of a video image after scaling, when scaling factor instructed bythe instruction information is included in the scaling factorinformation.
 18. The apparatus according to claim 17, wherein when thescaling factor instructed by the instruction information is not includedin the scaling factor information, the video stream processingdeterminer transmits a stop request signal to the video providingapparatus to request stop of transmission of the first video stream andtransmits the second request signal to the video providing apparatus.19. The apparatus according to claim 17, wherein when the scaling factorinstructed by the instruction information is not included in the scalingfactor information, the video stream processing determiner transmits avideo stream encoded by using the second coding scheme, which includes avideo image representing that video image scaling cannot be conducted,to the client apparatus.
 20. The apparatus according to claim 17,wherein when the scaling factor instructed by the instructioninformation is not included in the scaling factor information, the videostream processing determiner transmits a third request signal to thevideo providing apparatus to request transmission of a first videostream scaled with the scaling factor instructed by the instructioninformation.
 21. The apparatus according to claim 12, wherein when in adisplay region of the first video stream in the client apparatus aproportion of a region in which the video image of the first videostream is hidden by another image is equal to or greater than athreshold, the video stream processing determiner transmits a stoprequest signal for requesting stop of transmission of the first videostream to the video providing apparatus, transmits the second requestsignal to the video providing apparatus, and transmit the second videostream including a part of the video image of the first video stream,which is not hidden by the another image to the client apparatus. 22.The apparatus according to claim 12, wherein the client capabilityinformation acquirer acquires the client capability information bysending an inquiry signal to the client apparatus or on the basis ofuser's input.
 23. The apparatus according to claim 1, wherein the clientcapability information acquirer acquires the client capabilityinformation by sending an inquiry signal to the client apparatus or onthe basis of user's input.
 24. A video delivery method comprising:receiving a first video stream encoded by using a first coding schemefrom a video providing apparatus connected via a network; acquiringdecoding capability information representing whether a client apparatuscan decode a video image encoded by using the first coding scheme;transmitting the first video stream to the client apparatus, when theclient apparatus can decode the video image encoded by using the firstcoding scheme; and generating a second video stream obtained byconverting a coding scheme of the first video stream from the firstcoding scheme to a second coding scheme and transmitting the secondvideo stream to the client apparatus, when the client apparatus cannotdecode the video image encoded by using the first coding scheme.
 25. Avideo delivery method comprising: acquiring decoding capabilityinformation representing whether a client apparatus can decode a videoimage encoded by using the first coding scheme; requesting a videoproviding apparatus connected via a network to transmit a first videostream encoded by using the first coding scheme to the client apparatus,when the client apparatus can decode the video image encoded by usingthe first coding scheme; and receiving the first video stream from thevideo providing apparatus, generating a second video stream obtained byconverting a coding scheme of the first video stream from the firstcoding scheme to a second coding scheme and transmitting the secondvideo stream to the client apparatus, when the client apparatus cannotdecode the video image encoded by using the first coding scheme.